home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / MEXCRKME.TXT < prev    next >
Encoding:
Text File  |  1998-05-12  |  6.4 KB  |  160 lines

  1.  
  2.  
  3.  .---.        .---.                                                                 .----------.
  4.  |    \      /    |    .-.                                                          |          |
  5.  |  |\ \    / /|  |    | |    .--------.   .-----------.  .---------.  ..-------.    |  .-------'
  6.  |  | \ \  / / |  |    `-'    | .------'   `----. .----'  | .-------'  | ,---. |    |  | 
  7.  |  |  \ \/ /  |  |    .-.    | |               | |       | |          | |   | |    |  `----.
  8.  |  |   \__/   |  |    | |    \ \               | |       | `----.     | `---' |    |  ,----'
  9.  |  |          |  |    | |     \ `-----.        | |       | ,----'     |  .---'     |  |
  10.  |  |          |  |    | |      `----. |        | |       | |          | , \        |  |
  11.  |  |          |  |    | |           | |        | |       | |          | |\ \       |  |
  12.  |  |          |  |    | |           | |        | |       | |          | | \ \      |  '-------.
  13.  |  |          |  |    | |    .------' |        | |       | '------.   | |  \ \     |          |
  14.  `--'          `--'    `-'    `--------'        `-'       `--------'   `-'   `-'    `----------'
  15.  
  16.  
  17.                                   .----------------------. 
  18.                       .-----------|   Proudly Presents   |-----------.
  19.        ..--------------+----------------------------------------------+--------------.
  20.        |                            A cracking tutor for:                           |                                                                           |
  21.        |            MexElite's Crackme V1.0 (228.864 bytes) coded by nIabI          |
  22.        `----------------------------------------------------------------------------'
  23.  
  24.  
  25.  
  26.  
  27. This Crackme is very easy to crack, so prepare yourself a nice hot cup of tea.
  28.  
  29.  
  30. Programs I have used:
  31.  
  32. - SoftIce V3.2
  33. - W32dasm V8.9
  34. - MexElite's Crackme (http://crackme.home.ml.org)
  35.  
  36.  
  37. ..-----------------------------------------------------------------------------------------------.
  38. `-----------------------------------------------------------------------------------------------'
  39.  
  40.  
  41. OK, let's start:
  42.  
  43. 1st method:
  44. fire w32dasm and open crack1.exe
  45.  
  46. Look for strings. Hmm "Thanks you made it" looks promising, doubleclick on this string and
  47. you will be transproted to 42d555h
  48.  
  49. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  50. |:0042D541(C)
  51. |
  52.  
  53. * Possible StringData Ref from Code Obj ->"Thanks you made it"
  54.                                   |
  55. :0042D555 BABCD54200              mov edx, 0042D5BC
  56. :0042D55A 8B83E8010000            mov eax, dword ptr [ebx+000001E8]
  57. :0042D560 E853CCFEFF              call 0041A1B8
  58.  
  59.  
  60. As you can see, there is a conditional jump to 42d555 (could that be the check if your s/n is
  61. right or wrong?) at 42d541h.
  62. Lets check out this jump. You'll end up here:
  63.  
  64.  
  65.  
  66. * Possible StringData Ref from Code Obj ->"Benadryl"
  67.                                   |
  68. :0042D537 BA90D54200              mov edx, 0042D590
  69. :0042D53C E88F63FDFF              call 004038D0                       ; check if s/n is correct
  70. :0042D541 7412                    je 0042D555                         ; if so, jump to 42d555
  71.  
  72.  
  73. * Possible StringData Ref from Code Obj ->"Wrong Code DUDE"           ; if not print "Wrong code"
  74.                                   |
  75. :0042D543 BAA4D54200              mov edx, 0042D5A4
  76. :0042D548 8B83E8010000            mov eax, dword ptr [ebx+000001E8]
  77. :0042D54E E865CCFEFF              call 0041A1B8
  78. :0042D553 EB10                    jmp 0042D565
  79.  
  80. * Referenced by a (U)nconditional or (C)onditional Jump at Address:
  81. |:0042D541(C)
  82. |
  83.  
  84. * Possible StringData Ref from Code Obj ->"Thanks you made it"
  85.                                   |
  86. :0042D555 BABCD54200              mov edx, 0042D5BC
  87. :0042D55A 8B83E8010000            mov eax, dword ptr [ebx+000001E8]
  88. :0042D560 E853CCFEFF              call 0041A1B8
  89.  
  90. It is obvious that "Benadryl" is your s/n. Even though this is a really easy protection, you can
  91. find it in some (expensive) shareware programs, like Cumberland Family Tree v2.29x
  92.  
  93.  
  94.  
  95. ..-----------------------------------------------------------------------------------------------.
  96. `-----------------------------------------------------------------------------------------------'
  97.  
  98.  
  99. 2nd method:
  100. We will be using SoftIce.
  101. First thing to do when you want to crack with softice (when dealing with s/n):
  102.  
  103. To place a breakpoint on an API, type: BPX "API"
  104. Place a breakpoint on the following APIs:
  105. getwindowtexta     <= 32 bit
  106. getwindowtext      <= 16 bit
  107. getdlgitemtexta    <= 32 bit
  108. getdlgitemtext     <= 16 bit
  109.  
  110. the "a" on the end means that the API is 32 bit.
  111.  
  112. Enter a code,I used "123454"
  113. When you press the "Check it" button, nothing happens. None of these functions is called.
  114.  
  115. No problem, we just place a BPX on hmemcpy. Most times this will work, if the other APIs fail.
  116. note: place the breakpoint when you have typed the password, you will know why   ;)
  117.  
  118. Press F12 a few times, till you get in protected mode 32bit code (prot32). 
  119. OK, let's search for our code, we do this by typing:
  120.  
  121. s 0 l ffffffff "123454"      or
  122. s ds:0 l fffffffff "123454"
  123.  
  124. Press "s" to continue to search.
  125.  
  126. These memory addresses contained my string:
  127. "795df4"  and    "80e9db32"
  128.  
  129. You are likely to find other addresses, just continue my tutor using your addresses instead.
  130.  
  131. OK, we know (or if we didn't, we could guess) that the crackme compares our s/n (123454) and
  132. the real s/n. If we only could stop the crackme when it compares the s/ns......well, you CAN
  133.  
  134. Lets place a breakpoint on the memory locations, we do this by typing:
  135. BPM 795df4 
  136. BPM 80e9db32
  137.  
  138. OK, lets continue running the program (Control D)
  139.  
  140. We get kicked back to Softice, right at the place where the two s/ns are compared.
  141. type "d esi" to see our s/n (123454)
  142. type "d edi" to see the REAL s/n (Benadryl)
  143.  
  144.  
  145. ..-----------------------------------------------------------------------------------------------.
  146. `-----------------------------------------------------------------------------------------------'
  147.  
  148.  
  149. Well, I hope you learned SOMETHING from this tutor.
  150.  
  151. If you have any comments, questions, or whatever, mail me at MisterE@freemail.nl
  152.  
  153. OR
  154.  
  155. look for me at EFNET => #cracking4newbies or #cracking
  156.  
  157.  
  158. ..-----------------------------------------------------------------------------------------------.
  159. `-----------------------------------------------------------------------------------------------'
  160.